Aerial vehicles such as unmanned aerial vehicles (UAVs) can be used for performing surveillance, reconnaissance, and exploration tasks for military and civilian applications. Such aerial vehicles may carry a payload configured to perform a specific function, such as capturing images of surrounding environment.
In some instances, it may be desirable to obtain panoramic images based on aerial images captured by a UAV. Existing approaches for generating panoramic aerial images using a UAV typically require the UAV to execute a predetermined flight path as an onboard image capturing device captures multiple images of the surrounding environment. The captured images are then transmitted from the UAV to a ground station or other remote devices, where the images are then digitally “stitched” together to generate a panoramic image.
Such existing approaches suffer from several drawbacks. First, it may be difficult to control the UAV to execute a predetermined flight path. Existing technologies typically utilize sensors, such as gyroscopes or Global Positioning System (GPS) sensors, to assist in the flight control of a UAV. The precision or accuracy of such sensors may be affected by intrinsic and/or extrinsic factors. For example, gyroscopes or inertial sensors may be subject to zero drift and/or temperature drift. The margin of error for civilian-use GPS sensors may be at meter level. Such errors of sensors may cause the UAV to deviate from the predetermined flight path. Furthermore, manual remote control of the UAV by a user to achieve the predetermined flight path may become difficult when the UAV is far from the user, even if the user is an experienced UAV operator. The inability of the UAV to precisely execute the predetermined flight path may cause substantial shifts among the captured images, hence making it more difficult to stitch the images together in order to generate the panoramic image.
Second, it is typically difficult to stabilize an image capturing device during the panoramic imaging process using existing approaches. A large collection of images sometime need to be taken in order to achieve the required spatial adjacency among images. Sometimes, the posture and/or position of the UAV that is used to carry the image capturing device may need to be adjusted frequently in order to stabilize the image capturing device. Furthermore, motions from the UAV (such as vibrations) or disturbances from other sources may cause unintended motions for the image capturing device during the panoramic imaging process, decreasing the quality of the captured images and increasing the complexity of the computation required for generating good-quality panoramic images.
Finally, aerial images captured by a UAV typically need to be transmitted back to a ground station or a remote device with more processing power where further processing such as image stitching is performed. The complexity of the image stitching process can be attributed to the fact that most of the aerial images are captured on a moving and unstabilized platform. As such, more software processing is required to deal with misalignment, distortions, and other complexities in the images captured in a less than ideal environment. However, offboard processing of the images not only increases the traffic on data communication channels between the UAV and remote devices but also introduces delays between the capture of the images and the generation of the panoramic images.